//package spark;
//
//import org.apache.spark.SparkConf;
//import org.apache.spark.api.java.JavaPairRDD;
//import org.apache.spark.api.java.JavaRDD;
//import org.apache.spark.api.java.JavaSparkContext;
//import scala.Tuple2;
//
//import java.util.Arrays;
//
//public class JavaLamdaWordCount {
//    public static void main(String[] args) {
//
//        SparkConf conf = new SparkConf();
//        conf.setMaster("local");
//        conf.setAppName(JavaLamdaWordCount.class.getSimpleName());
//        //使用java程序来编写spark
//        JavaSparkContext jsc = new JavaSparkContext(conf);
//        //读文件
//        JavaRDD<String> lines = jsc.textFile("D:\\apache-maven-3.6.3\\mavenRepository\\mapReduce\\dataSet\\wordcount.txt");
//        //切分并压平
//        JavaRDD<String> flatedData = lines.flatMap(t -> Arrays.asList(t.split(",")).iterator());
//        //和1组装
//        JavaPairRDD<String, Integer> wordAndOne = flatedData.mapToPair(line -> new Tuple2<>(line, 1));
//        //分组聚合
//        JavaPairRDD<String, Integer> grouped = wordAndOne.reduceByKey((a, b) -> a + b);
//        //排序前
//        JavaPairRDD<Integer, String> beforeSort = grouped.mapToPair(tp -> tp.swap());
//        //排序
//        JavaPairRDD<Integer, String> sortData = beforeSort.sortByKey(false);
//        //排序后
//        JavaPairRDD<String, Integer> result = sortData.mapToPair(tp -> tp.swap());
//        //保存结果到文件中
//        result.saveAsTextFile("D:\\apache-maven-3.6.3\\workOutput\\spark\\JavaLamdaWordCount");
//        //释放资源
//        jsc.stop();
//
//    }
//
//}
